MCP 문서 관리

메뉴

Google Calendar

Google Calendar

Google Calendar MCP 서버는 Model Context Protocol을 통해 Claude와 같은 AI 어시스턴트가 사용자의 Google Calendar와 상호작용할 수 있도록 해주는 인터페이스입니다. 이 통합을 통해 AI 어시스턴트는 자연어로 캘린더 이벤트를 생성, 조회, 업데이트, 삭제할 수 있습니다.

특징

  • 일정 관리: 이벤트 생성, 조회, 업데이트, 삭제 기능 제공
  • 다중 캘린더 지원: 개인 및 업무 캘린더 등 여러 캘린더에 접근 가능
  • OAuth 2.0 인증: 보안 인증을 통한 Google Calendar API 접근
  • 이미지 처리: 스크린샷에서 이벤트 정보를 추출하여 자동으로 캘린더에 추가
  • 공유 캘린더: 다른 사용자와 캘린더 공유 및 권한 관리
  • 실시간 업데이트: 서버-클라이언트 실시간 통신을 위한 SSE(Server-Sent Events) 지원
  • 일정 분석: 일정에 대한 통계 및 분석 기능

API

리소스

  • Events: 캘린더의 이벤트를 나타내는 리소스로, 제목, 시작/종료 시간, 참석자 등의 정보 포함
  • Calendars: 캘린더 자체에 대한 메타데이터(설명, 기본 시간대 등)를 포함
  • CalendarList: 사용자의 캘린더 목록
  • Settings: 사용자 기본 설정(시간대 등)
  • ACL(Access Control Lists): 캘린더에 대한 사용자 또는 그룹의 접근 권한 설정

도구

list_gcal_calendars

사용자의 Google Calendar 목록을 조회합니다. - 입력: - page_token(선택): 페이지네이션 토큰

list_gcal_events

특정 캘린더의 이벤트 목록을 조회합니다. - 입력: - calendar_id: 이벤트를 조회할 캘린더 ID(기본값: 'primary') - max_results: 반환할 최대 이벤트 수(기본값: 25) - page_token: 페이지네이션 토큰(선택) - query: 자유 텍스트 검색어(선택) - time_min: 조회 시작 시간(RFC3339 형식, 선택) - time_max: 조회 종료 시간(RFC3339 형식, 선택) - time_zone: 응답에 사용할 시간대(선택)

fetch_gcal_event

특정 이벤트의 상세 정보를 조회합니다. - 입력: - calendar_id: 이벤트가 속한 캘린더 ID - event_id: 조회할 이벤트 ID

find_free_time

여러 캘린더에서 비어있는 시간을 찾습니다. - 입력: - calendar_ids: 분석할 캘린더 ID 목록 - time_min: 검색 시작 시간(RFC3339 형식) - time_max: 검색 종료 시간(RFC3339 형식) - time_zone: 시간대(선택)

create_event

새 캘린더 이벤트를 생성합니다. - 입력: - calendar_id: 이벤트를 생성할 캘린더 ID - summary: 이벤트 제목 - description: 이벤트 설명(선택) - location: 위치 정보(선택) - start_time: 시작 시간(RFC3339 형식) - end_time: 종료 시간(RFC3339 형식) - attendees: 참석자 목록(이메일 주소, 선택) - reminders: 알림 설정(선택)

update_event

기존 이벤트를 업데이트합니다. - 입력: - calendar_id: 이벤트가 속한 캘린더 ID - event_id: 업데이트할 이벤트 ID - summary: 이벤트 제목(선택) - description: 이벤트 설명(선택) - location: 위치 정보(선택) - start_time: 시작 시간(RFC3339 형식, 선택) - end_time: 종료 시간(RFC3339 형식, 선택) - attendees: 참석자 목록(이메일 주소, 선택) - reminders: 알림 설정(선택)

delete_event

이벤트를 삭제합니다. - 입력: - calendar_id: 이벤트가 속한 캘린더 ID - event_id: 삭제할 이벤트 ID

사용 방법

설치 및 구성

  1. Google Cloud Console에서 프로젝트 생성 및 Google Calendar API 활성화
  2. OAuth 2.0 인증 자격 증명 설정
  3. 애플리케이션 유형으로 'Desktop app' 선택
  4. 생성된 credentials.json 파일 다운로드
  5. MCP 서버 설치 및 구성
  6. NPM 패키지 설치: npm install 또는 UV 패키지 매니저 사용
  7. credentials.json을 서버 루트 디렉토리에 배치
  8. Claude Desktop 구성 파일에 MCP 서버 추가
    {
      "mcpServers": {
        "google-calendar": {
          "command": "node",
          "args": ["/절대/경로/구글캘린더/build/index.js"]
        }
      }
    }
  9. 서버 실행 시 OAuth 인증 과정 완료
  10. 로컬 웹 서버가 일시적으로 시작됨(포트 3000-3004)
  11. 웹 브라우저에서 Google 계정 로그인 및 권한 동의
  12. 성공 시 토큰이 .gcp-saved-tokens.json 파일에 저장됨

필요한 OAuth 스코프

  • https://www.googleapis.com/auth/calendar.events: 이벤트 관리용
  • https://www.googleapis.com/auth/calendar: 더 광범위한 권한(필요시)

주의사항

  • 테스트 모드에서는 인증 토큰이 7일 후 만료됨
  • 프로덕션 환경에서는 Google의 OAuth 애플리케이션 검증을 고려해야 함

연결된 구성 요소